﻿using FirstFloor.ModernUI.Presentation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SelElectCalcModernUI.ViewModel.CalcRes
{

    public class SellerResSignle : NotifyPropertyChanged
    {
        //交易对象名称。未启用
        string seller;
        //申报单价
        double orgPrice;
        //实际单价
        double realPrice;
        //申报电量
        double orgPower;
        //成交电量
        double realPower;
        //剩余电量
        double surplusPower;
        //累计电费
        double totNoBackPrice;
        //累计电费占比
        double totPriceRange;
        //返还电费
        double totBackPrice;
        //差价电费总额
        double totDifPrice;
        //中标电费
        double totPrice;
        //对象名
        string factory;
        //未启用
        int times;
        //单位收益
        double perIn;
        //总收益
        double totIn;

        double avgOrgPrice;
        double avgBackPrice;
        int inSeat;
        double dealPer;
        double dealTotPer;
        int dealTotPerSeat;

        public string Seller
        {
            get
            {
                return seller;
            }

            set
            {
                seller = value;
                OnPropertyChanged("Seller");
            }
        }
        /// <summary>
        /// 申报单价
        /// </summary>
        public double OrgPrice
        {
            get
            {
                return orgPrice;
            }

            set
            {
                orgPrice = value;
                OnPropertyChanged("OrgPrice");
            }
        }
        /// <summary>
        /// 成交电量
        /// </summary>
        public double RealPower
        {
            get
            {
                return realPower;
            }

            set
            {
                realPower = value;
                OnPropertyChanged("RealPower");
            }
        }
        /// <summary>
        /// 实际单价
        /// </summary>
        public double RealPrice
        {
            get
            {
                return realPrice;
            }

            set
            {
                realPrice = value;
                OnPropertyChanged("RealPrice");
            }
        }

        public string Factory
        {
            get
            {
                return factory;
            }

            set
            {
                factory = value;
                OnPropertyChanged("Factory");
            }
        }

        public int Times
        {
            get
            {
                return times;
            }

            set
            {
                times = value;
                OnPropertyChanged("Times");
            }
        }

        public double SurplusPower
        {
            get
            {
                return surplusPower;
            }

            set
            {
                surplusPower = value;
                OnPropertyChanged("SurplusPower");
            }
        }

        public double TotNoBackPrice
        {
            get
            {
                return totNoBackPrice;
            }

            set
            {
                totNoBackPrice = value;
                OnPropertyChanged("TotNoBackPrice");
            }
        }

        public double TotPriceRange
        {
            get
            {
                return totPriceRange;
            }

            set
            {
                totPriceRange = value;
                OnPropertyChanged("TotPriceRange");
            }
        }

        public double TotBackPrice
        {
            get
            {
                return totBackPrice;
            }

            set
            {
                totBackPrice = value;
                OnPropertyChanged("TotBackPrice");
            }
        }

        public double OrgPower
        {
            get
            {
                return orgPower;
            }

            set
            {
                orgPower = value;
                OnPropertyChanged("OrgPower");
            }
        }

        public double TotDifPrice
        {
            get
            {
                return totDifPrice;
            }

            set
            {
                totDifPrice = value;
                OnPropertyChanged("TotDifPrice");
            }
        }

        public double TotPrice
        {
            get
            {
                return totPrice;
            }

            set
            {
                totPrice = value;
                OnPropertyChanged("TotPrice");
            }
        }
        public double PerIn
        {
            get
            {
                return perIn;
            }

            set
            {
                perIn = value;
                OnPropertyChanged("PerIn");
            }
        }

        public double TotIn
        {
            get
            {
                return totIn;
            }

            set
            {
                totIn = value;
                OnPropertyChanged("TotIn");
            }
        }
        /// <summary>
        /// (平均)中标售电量申报价差(厘/kWh)
        /// </summary>
        public double AvgOrgPrice
        {
            get
            {
                return avgOrgPrice;
            }

            set
            {
                avgOrgPrice = value;
                OnPropertyChanged("AvgOrgPrice");
            }
        }
        /// <summary>
        /// (平均)中标售电量返还供方价差(厘/kWh)
        /// </summary>
        public double AvgBackPrice
        {
            get
            {
                return avgBackPrice;
            }

            set
            {
                avgBackPrice = value;
                OnPropertyChanged("AvgBackPrice");
            }
        }
        /// <summary>
        /// (平均)中标售电量单位收益排名
        /// </summary>
        public int InSeat
        {
            get
            {
                return inSeat;
            }

            set
            {
                inSeat = value;
                OnPropertyChanged("InSeat");
            }
        }
        /// <summary>
        /// (总)各方中标售电量占各方申报售电量比例
        /// </summary>
        public double DealPer
        {
            get
            {
                return dealPer;
            }

            set
            {
                dealPer = value;
                OnPropertyChanged("DealPer");
            }
        }
        /// <summary>
        /// (总)各方中标售电量占总允许成交电量比例
        /// </summary>
        public double DealTotPer
        {
            get
            {
                return dealTotPer;
            }

            set
            {
                dealTotPer = value;
                OnPropertyChanged("DealTotPer");
            }
        }
        /// <summary>
        /// (总)各方中标售电量占总允许成交电量比例 排名
        /// </summary>
        public int DealTotPerSeat
        {
            get
            {
                return dealTotPerSeat;
            }

            set
            {
                dealTotPerSeat = value;
                OnPropertyChanged("DealTotPerSeat");
            }
        }
    }
}
